1. Relevant Field
Systems and methods consistent with the present invention generally relate to decoupling modules using asynchronous communication and scopes.
2. Background Information
Businesses and other organizations generate and/or receive a variety of data items and electronic information (broadly referred to hereafter as “business data”) during the course of their operation. For example in the context of cloud computing, the business data may be generated and/or received from computers of various entities located in different regions and/or countries. Accordingly, there is a need to improve distribution of business logic and transient business data, and logic to process this data, across a network of computers.
In the context of cloud computing, a server may receive and process requests from clients and other servers. The clients and other servers may be, for example, the computers of various entities located in different regions and/or countries. The server may handle the requests using a plurality of software modules. To execute these modules, the server needs to allocate a portion of server resources (e.g., memory, processing time, etc.) to a module. Additionally, modules of the server are typically “coupled.” That is, for example, the modules may rely on the published functionality of other modules, share state by accessing the same global data or variables, etc.
Furthermore, in a cloud environment, updating coupled modules located on a single or on different computer systems can be problematic. Similarly, difficulties also arise when operators want to spontaneously scale coupled modules. Additionally, transmission of resources across a cloud environment may be difficult as server resources are generally allocated and used in a fairly unstructured manner. Accordingly, there is a need to enable the decoupling of modules using a more structured approach to server resource management.